package homework.level01model03;


public class homework01 {
    /*
    *
    * 编程统计字符串"ABCD123!@#$%ab"中大写字母、小写字母、数字、其它字符的个数并打 印出来。
     *
    * */
    public static void main(String[] args) {
        //常量池
        String str="ABCD123!@#$%ab";
        //记录大写字母、小写字母、数字、其它字符的个数
        int[] count = {0,0,0,0};
        //记录大写字母、小写字母、数字、其它字符
        //创建数组对象sb
        StringBuilder[] sb = new StringBuilder[4];
        for (int i=0;i<4;i++){
            //数组内元素创建对象
            sb[i] = new StringBuilder();
        }
        //for循环遍历str
        for(int i=0;i<str.length();i++){
            //获取str中的字符并以ascii的形式输出  charAt
            int i1= str.charAt(i);
            //if条件语句判断字符的ASCII值 字符A为65 字符a为97 字符1为49 字符0为48
            if(i1>=65&&i1<=65+26){ //大写字母
                //count++
                count[0]++;
                //append追加
                sb[0].append((char)i1);
            }
            else if(i1>=97&&i1<=97+26){  //小写字母

                count[1]++;
                sb[1].append((char)i1);
            }
            else if(i1>=48&&i1<=48+10){ //数字字符
                count[2]++;
                sb[2].append((char)i1);
            }else{
                count[3]++;
                sb[3].append((char)i1);
            }

        }
        //打印结果
        for (int i=0;i<4;i++){
            System.out.println(count[i]);
            System.out.println(sb[i]);
            System.out.println("-------------");
        }

    }



}
